Composition through Superimposition
نویسنده
چکیده
The conventional object-oriented paradigm provides part-of, inheritance and delegation relations as means for composition of objects. Although inheritance and delegation represent a considerable improvement over the module-based third generation languages, we have experienced that certain types of composability cannot be expressed using the aforementioned techniques. In some cases, the software engineer needs to superimpose certain behaviour on an object in such a way that the complete functionality of the object is affected. In this paper, we present three examples of behaviour that cannot be composed conveniently with object specifications when using the conventional object model, i.e. client interface, design patterns and acquaintance communication patterns. Subsequently, solutions to this lack of expressiveness are presented in the context of the layered object model (LayOM), our extensible research language.
منابع مشابه
Model Superimposition in Software Product Lines
In software product line engineering, feature composition generates software tailored to specific requirements from a common set of artifacts. Superimposition is a technique to merge code pieces belonging to different features. The advent of model-driven development raises the question of how to support the variability of software product lines in modeling techniques. We propose to use superimp...
متن کاملSuperimposition: A Language-Independent Approach to Software Composition
Superimposition is a composition technique that has been applied successfully in several areas of software development. In order to unify several languages and tools that rely on superimposition, we present an underlying language-independent model that is based on feature structure trees (FSTs). Furthermore, we offer a tool, called FSTComposer, that composes software components represented by F...
متن کاملA Revised Semantics for Rule Inheritance and Module Superimposition in ATL
There are two composition mechanisms in ATL that have evolved separately, and therefore are not well-aligned. These are rule inheritance and module superimposition. Both of these composition mechanisms had different goals in mind: rule inheritance aims to increase reuse at the rule level, as well as optimise the performance of the matching process, while module superimposition aims to increase ...
متن کاملComposition Techniques for Rule-Based Model Transformation Languages
Model transformation languages have matured to a point where people have started experimenting with model transformation definitions themselves in addition to the language they are written in. In addition to the transformation language properties, the properties of model transformation definitions themselves become important, such as scalability, maintainability and reusability. Composition of ...
متن کاملArchitectural Design Support for Composition & Superimposition
The ever growing size and complexity of software systems is making it increasingly harder to built systems that both meet current and future requirements. During architecture design, a lot of important design decisions are taken. In this paper, we present an architecture design notation based on UML's activity diagrams. The notation allows for the specification of architecture fragments and sup...
متن کامل